FUnknown Class Reference
[Basic Interfaces]

The basic interface of all interfaces. More...

#include <funknown.h>

Inheritance diagram for FUnknown:
Inheritance graph
[legend]

Public Member Functions

virtual tresult queryInterface (const TUID iid, void **obj)=0
 Query for a pointer to the specified interface.
virtual uint32 addRef ()=0
 Adds a reference and return the new reference count.
virtual uint32 release ()=0
 Releases a reference and return the new reference count.

Static Public Member Functions

static int32 atomicAdd (int32 &value, int32 amount)

Static Public Attributes

static const FUID iid

Detailed Description

The basic interface of all interfaces.

Interfaces are identified by 16 byte Globally Unique Identifiers. The SDK provides a class called FUID for this purpose.

See also:
How to derive a class from an interface

Member Function Documentation

virtual tresult queryInterface ( const TUID  iid,
void **  obj 
) [pure virtual]

Query for a pointer to the specified interface.

Returns kResultOk on success or kNoInterface if the object does not implement the interface. The object has to call addRef when returning an interface.

Parameters:
iid : (in) 16 Byte interface identifier (-> FUID)
obj : (out) On return, *obj points to the requested interface
virtual uint32 addRef (  )  [pure virtual]

Adds a reference and return the new reference count.

Remarks:
The initial reference count after creating an object is 1.
virtual uint32 release (  )  [pure virtual]

Releases a reference and return the new reference count.

If the reference count reaches zero, the object will be destroyed in memory.

int32 atomicAdd ( int32 value,
int32  amount 
) [static]

Field Documentation

const FUID iid [static]
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.